草庐IT

php - preg_replace 仅匹配的一部分

全部标签

javascript - 用于匹配用户名的正则表达式 : min 3 chars, 最多 20 个字符,字符之间可选下划线

我正在尝试匹配roblox用户名(遵循这些准则):最少3个字符最多20个字符最多1个下划线下划线不能在用户名的开头或结尾我在node.js版本10.12.0上运行。我当前的RegExp是:/^([a-z0-9])(\w)+([a-z0-9])$/i,但这不考虑1个下划线的限制。 最佳答案 你可以使用^(?=^[^_]+_?[^_]+$)\w{3,20}$参见ademoonregex101.com(有用于演示目的的换行符)分解为^#startofthestring(?=^#startofthestring[^_]+#notanunde

JavaScript 正则表达式替换 - 但只是匹配字符串的一部分?

我有以下替换功能myString.replace(/\s\w(?=\s)/,"$1\xA0");目的是采用单字母单词(例如介词)并在其后添加一个不间断空格,而不是标准空格。但是上面的$1变量对我不起作用。它插入文本“$1”而不是原始匹配字符串的一部分+nbsp。观察到的行为的原因是什么?还有其他方法可以实现吗? 最佳答案 $1不起作用,因为您没有任何捕获子组。正则表达式应该类似于/\b(\w+)\s+/。 关于JavaScript正则表达式替换-但只是匹配字符串的一部分?,我们在Stac

JavaScript:反斜杠作为字符串的一部分

我有一个使用PHP输出的JavaScript变量,在页面源代码中显示如下:vardb_1='C:\this\path';当我像这样使用该变量设置文本字段的值时:$('#myinput').val(db_1);斜杠消失了,只剩下其他字符了!为什么会这样,我怎样才能把斜线放回去??谢谢大家 最佳答案 反斜杠是JS中的转义字符。解析字符串文字时,它们会丢失。你不能把它们放回去,因为你无法知道它们在哪里。您必须首先确保它们保留在字符串中(通过用转义序列表示它们)。vardb_1='C:\\this\\path';

JavaScript RegExp 匹配忽略 HTML 的文本

是否可以在“Thedogisreallyreallyfat!”中匹配“狗真的很胖”,并在其周围添加“WHATWASMATCHED”?我并不是特别指这个意思,但通常能够忽略HTML搜索文本,将其保留在最终结果中,并在其周围添加上面的span吗?编辑:考虑到HTML标签重叠问题,是否可以匹配一个短语并在每个匹配的单词周围添加跨度?这里的问题是,当“dog”不在搜索上下文中时,我不想匹配它,在这种情况下,“thedogreallyreallyfat”。 最佳答案 更新:这是一个工作fiddle,可以满足您的需求。但是,您需要更新htmlT

javascript - alert 和 confirm 函数是内置在 JavaScript 中,还是 DOM 的一部分?

alert和confirm函数是内置于JavaScript中的,还是它们是DOM的一部分?如果你能给我推荐一个引用资料,让我很容易分辨出哪些函数直接内置到JavaScript中,那么加分。 最佳答案 它们是通常称为DOMlevel0的一部分这不是任何标准的一部分。MDN有一个goodJavaScriptreference.它不包括不属于核心JS的对象(尽管网站上的其他部分确实涵盖了DOM和其他API)。 关于javascript-alert和confirm函数是内置在JavaScript

javascript - AngularJS 重复部分中多次调用的函数

我遇到了一个问题,我想绑定(bind)到ng-repeat循环内函数的输出。我发现每个项目都会调用该函数两次,而不是我期望的一次。这是ng-repeat部分(注意末尾的calcRowTotal()调用):{{category.title}}{{calcRowTotal($index,row)}}calcRowTotal()函数如下所示:$scope.calcRowTotal=function(index,row){console.log('calcRowTotal-Index:'+index);vartotal=0;for(vari=0;i下面显示了其中一项被迭代的示例:{catego

JavaScript 正则表达式 - 空参数使正则表达式匹配

我正在编写一个用于JavaScript的正则表达式。在测试时,我遇到了一些奇怪的行为并将其归结为以下几点:/^[a-z]/.test("abc");//我假设最后一个案例将返回false,因为它不符合正则表达式(值为null,因此不以范围内的字符开头)。那么,谁能向我解释为什么情况并非如此?如果我在C#中做同样的测试:varregex=newRegex("^[a-z]");varres=regex.IsMatch(null);//...我得到一个ArgumentNullException,这是有道理的。所以,我想在JavaScript中测试正则表达式时,您必须手动执行null检查吗?我

javascript - 匹配具有唯一数字的字母数字词(不是仅限数字的词)

使用正则表达式,我只想选择以下词:是字母数字不要只包含数字不只包含字母有独特的数字(1个或更多)我不太擅长正则表达式,但到目前为止,我已经尝试过[^\d\s]*(\d+)(?!.*\1)这让我离想要的输出还很远:(这里是输入字符串:Iwouldlikeabc123tomatchbutnot123.ab12sshouldalsomatchOnlynumber-wordslike1234shouldnotmatchWordscontainingsamenumberslikeab22sshouldnotmatch234shouldnotmatchhel1lo2haha3hoho4hel1lo

javascript - 使用 Javascript 我如何搜索字符串中的前三个字母并查看它们是否匹配 "ABC"?

使用Javascript我如何搜索字符串中的前三个字母并查看它们是否匹配“ABC”?谢谢 最佳答案 使用正则表达式:str.match(/^ABC/);或者使用substring方法:str.substring(0,3)=='ABC'; 关于javascript-使用Javascript我如何搜索字符串中的前三个字母并查看它们是否匹配"ABC"?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

Javascript split 将字符串分成两部分,而不管字符串中存在的 spit 字符数

我想使用split函数将Javascript中的字符串拆分为两部分。例如我有字符串:str='123&345&678&910'如果我使用javascriptssplit,它将它分成4个部分。但我需要它分为两部分,只考虑它遇到的第一个“&”。正如我们在Perlsplit中所做的那样,如果我使用like:($fir,$sec)=split(/&/,str,2)它将str分成两部分,但javascript只给我:str.split(/&/,2);fir=123sec=345我希望sec是:sec=345&678&910我如何在Javascript中做到这一点。 最